Add coconut oil, onion, garlic, salt and pepper to a medium saucepan. Cook over medium heat for one or two minutes, until fragrant and slightly softened.
Throw the cauliflower florets in and continue cooking for a minute or two.
Add chicken stock, cover and bring to the boil; lower the heat and continue cooking until the cauliflower is tender, about 5-7 minutes.
Kill the heat, then add coconut milk, preserved lemon, ghee, Dijon mustard, nutmeg and cinnamon and process with a stick blender on high speed until super smooth and silky in consistency. Set aside. (Alternatively, you could process that in a blender but you may have to work in several batches.)
Chop the spinach roughly and then place it in a large microwave safe bowl. You will probably have to work in 2 or 3 batches, unless you own a giant sized microwave and gargantuan mixing bowls. Cook on high, uncovered, for about 4 minutes or until completely wilted and then set aside to cool.
When the spinach is cool enough to be handled, squeeze as much water as you can out of it and delicately mix it in with the creamy cauliflower sauce.
Serve immediately with your favorite side of protein.